package com.zhentao;

import org.junit.jupiter.api.Test;

import java.sql.Time;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;

import static com.zhentao.utils.DetectionUtil.*;

public class Main {

    public static void main(String[] args) {
        //System.out.println(BCrypt.hashpw("123"));
//        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
//        Set<Object> members = redisTemplate.opsForSet().members("1");  // 使用正确的键类型
//        for (Object member : members) {
//            System.out.println(member);
//        }
//        String stuAnswer = "Maven是一个自动化构建工具，用于Java项目的构建、依赖管理和部署。";
//        String zqAnswer = "maven";
//        double v = calculateEditDistanceNormalized(stuAnswer, zqAnswer);
//        double v1 = calculateScore(v);
//        System.out.println(v);
//        System.out.println(v1);
    }

    @Test
    public void test() throws ParseException {
        String dateString = "Sun Aug 11 20:27:33 CST 2024";

        DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'CST' yyyy",Locale.US);
        Date date = df.parse(dateString);
        System.out.println(date);
        DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//把CST格式转换成普通日期格式
        System.out.println(sdf.format(date));
        if (new Date().after(date)){
            System.out.println("79798789");
        }
        // 定义两个 Date 对象
//        Date date1 = new Date(2024, 8, 9, 14, 30); // 注意：Date的构造方法已被弃用，建议使用Calendar或LocalDateTime
//        Date date2 = new Date(2024, 8, 9, 18, 45);
//
//        // 计算两个 Date 对象之间的时间差（毫秒）
//        long differenceInMillis = date2.getTime() - date1.getTime();
//        // 转换为小时、分钟、秒
//        long differenceInSeconds = TimeUnit.MILLISECONDS.toSeconds(differenceInMillis);
//        long hours = TimeUnit.SECONDS.toHours(differenceInSeconds);
//        long minutes = TimeUnit.SECONDS.toMinutes(differenceInSeconds) % 60;
//        long seconds = differenceInSeconds % 60;
//        // 获取当前日期
//        Calendar calendar = Calendar.getInstance();
//        // 设置小时、分钟和秒
//        calendar.set(Calendar.HOUR_OF_DAY, (int) hours);
//        calendar.set(Calendar.MINUTE, (int) minutes);
//        calendar.set(Calendar.SECOND, (int) seconds);
//        // 获取 Date 对象
//        Date date = calendar.getTime();

//        Set<String> strings=new HashSet<>();
//        strings.add("111");
//        strings.add("222");
//        strings.add("111");
//        strings.forEach(System.err::println);

//        String s = "08:30";
//        LocalDate date = LocalDate.now().plusDays(1);
//        LocalTime time = LocalTime.parse(s);
//        LocalDateTime dateTime = LocalDateTime.of(date, time);
//        System.out.println(dateTime);




//        long l =45;
//        Date date = new Date();
//        date.setMinutes((int) l);
//        System.err.println(date);



//        // 创建一个 LocalDateTime 对象
//        LocalDateTime localDateTime = LocalDateTime.of(2024, 7, 31, 12, 30);
//
//        // 将 LocalDateTime 转换为 Date
//        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
//
//        System.out.println("LocalDateTime: " + localDateTime);
//        System.out.println("Date: " + date);


//        // 假设 cycleTime[0] 是一个代表日期的字符串，例如 "2024-07-31"
//        String[] cycleTime = {"2024-07-02"};
//
//        // 解析日期字符串为 LocalDate 对象
//        LocalDate CycleBeginTime = LocalDate.parse(cycleTime[0]);
//
//        // 获取该日期所在月份的天数
//        YearMonth yearMonth = YearMonth.from(CycleBeginTime);
//        int daysInMonth = yearMonth.lengthOfMonth();
//
//        // 打印输出结果
//        System.out.println("Month: " + yearMonth.getMonth());
//        System.out.println("Days in month: " + daysInMonth);
    }
}